package com.jie.server.modules.system.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jie.server.modules.system.entity.LoginLog;
import com.jie.server.modules.system.mapper.LoginLogMapper;
import com.jie.server.modules.system.service.ILoginLogService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Arrays;
import java.util.List;

/**
 * @description: 系统访问日志表Service业务层处理
 * @author: xiaojie
 * @since: 2024/12/13 0013
 */
@Service
public class LoginLogServiceImpl extends ServiceImpl<LoginLogMapper, LoginLog> implements ILoginLogService {

    @Autowired
    private LoginLogMapper loginLogMapper;

    /**
     * 查询系统访问日志表
     * @param loginId 系统访问日志表主键
     * @return 系统访问日志表
     */
    @Override
    public LoginLog selectLoginLogByLoginId(Long loginId) {
        return loginLogMapper.selectLoginLogByLoginId(loginId);
    }

    /**
     * 查询系统访问日志表列表
     * @param loginLog 系统访问日志表
     * @return 系统访问日志表
     */
    @Override
    public List<LoginLog> selectLoginLogList(LoginLog loginLog) {
        return loginLogMapper.selectLoginLogList(loginLog);
    }

    /**
     * 新增系统访问日志表
     * @param loginLog 系统访问日志表
     * @return 结果
     */
    @Override
    public boolean create(LoginLog loginLog) {
        return save(loginLog);
    }

    /**
     * 修改系统访问日志表
     * @param loginLog 系统访问日志表
     * @return 结果
     */
    @Override
    public boolean update(LoginLog loginLog) {
        return updateById(loginLog);
    }

    /**
     * 批量删除系统访问日志表
     * @param loginIds 需要删除的系统访问日志表主键
     * @return 结果
     */
    @Override
    public int deleteLoginLogByLoginIds(Long[] loginIds) {
        return loginLogMapper.deleteBatchIds(Arrays.asList(loginIds));
    }

    /**
     * 删除系统访问日志表信息
     * @param loginId 系统访问日志表主键
     * @return 结果
     */
    @Override
    public int deleteLoginLogByLoginId(Long loginId) {
        return loginLogMapper.deleteById(loginId);
    }

    /**
     * 清空系统访问日志表信息
     * @return 结果
     */
    @Override
    public void cleanLoginlog() {
        loginLogMapper.cleanLoginlog();
    }

}
